#ifndef _CLOUD_
#define _CLOUD_

#include "poly.h"
#include "table.h"
#include <stdint.h>


typedef struct {
    int User_symbol[USER_NUMBER]; //目前云平台服务器可以服务5个用户
    o_hat_table *user_o_hat_table[USER_NUMBER]; //每个用户可以有自己的一个o_hat表
    z_table *user_z_table[USER_NUMBER]; //用于在判断交集时使用
    long long temp_result[TABLE_SIZE][BUCKET_SIZE + 1]; //用于暂时存放ohat和z的加和
    int label_hat[USER_NUMBER][TABLE_SIZE]; //用于接收用户发来的L-hat
    w_table *cloud_w_table; // 用于接收用户生成的求交时随机多项式
    t_table *cloud_t_table; //用于生成t向量，隐私求交用
    uint32_t public_hashseed;//用于存放公共的hash种子
} CloudServer; //云平台角色定义


#endif